package com.second.system.service;

import com.second.common.pojo.R;
import com.second.system.pojo.entity.User;
import com.second.system.pojo.vo.LoginVo;
import com.second.system.pojo.vo.ShowAllUserVO;

public interface UserService {

    /**
     * 根据用户名查询用户
     * @param loginname 用户名
     * @return
     */
    User queryUserByName(String loginname);

    /**
     * 登录方法
     * @param loginVo 用户登录时输入的账号密码
     * @return
     */
    R doLogin(LoginVo loginVo);

    /**
     *查询用户信息
     * @return
     */
    R getUserInfo();

    /**
     * 查询全部的用户
     * @param showAllUserVO 查询用户信息的条件
     * @return
     */
    R showAllUser(ShowAllUserVO showAllUserVO);

    /**
     * 添加用户
     * @param user 添加用户的信息
     * @return
     */
    R addUser(User user);

    /**
     * 删除用户
     * @param userid 用户id
     * @return
     */
    R delUserByUserid(Integer userid);

    /**
     * 修改用户信息
     * @param user 修改的用户信息
     * @return
     */
    R updateUser(User user);

    /**
     * 修改用户的状态
     * @param userid 用户id
     * @param status 用户状态
     * @return
     */
    R updateStatus(Integer userid, Character status);

    /**
     * 修改用户的密码
     * @param userpwd 用户的密码
     * @return
     */
    R updatePwd(String userpwd);
}
